package com.jrx.anytxn.customer.handel;

import com.jrx.anytxn.common.exception.TxnBizException;
import com.jrx.anytxn.customer.dto.BaseApiReq;
import com.jrx.anytxn.customer.dto.BaseApiRes;
import com.jrx.anytxn.customer.dto.bankcardinfo.*;

/**
 * 银行卡绑定
 *
 * @author Yang Xin
 * @date 2019-07-18 15:21
 **/
public interface IBankCardInfoHandler {

    /**
     * 在消费信贷核心系统中建立客户的银行卡信息
     * @param bankCardBindReq 银行卡绑定信息
     * @author Yangxin on 2019/8/6 15:38
     * @return TxnRespResult<BankCardInfoRes>
     */
   BankCardBindRes registerBankCardBind(BankCardBindReq bankCardBindReq) throws Exception;

    /**
     * 在消费信贷核心系统中为客户解绑银行卡
     * @param bankCardUnBindReq 银行卡解绑信息
     * @author Yangxin on 2019/8/6 15:36
     * @return TxnRespResult<BaseApiRes>
     */
   BaseApiRes modifyBankCardUnBind(BankCardUnBindReq bankCardUnBindReq) throws TxnBizException;

    /**
     * 银行卡列表查询API
     * @param  bankCardListReq 银行卡列表请求信息
     * @author Yangxin on 2019/8/7 17:13
     * @return TxnRespResult<BankCardListRes>
     *
     */
   BankCardListRes getBankCardList(BaseApiReq bankCardListReq) throws TxnBizException;

    /**
     *  银行卡设置默认收还款标志
     * @param bankCardSetFlagReq 银行卡默认收还款标志请求信息
     *  @author Yangxin on 2019/8/9 13:59
     * @return  TxnRespResult<BaseApiRes>
     */
    BaseApiRes modifyFlagBankCard(BankCardSetFlagReq bankCardSetFlagReq) throws Exception;


}
